#!/bin/bash

# Bash completion script for restart-java-app
# 使用方法：
# 1. 将此文件复制到 /etc/bash_completion.d/ 或 ~/.local/share/bash-completion/completions/
# 2. 重新加载bash或运行: source restart-java-app-completion.bash

_restart_java_app_completion() {
    local cur prev opts jar_files
    COMPREPLY=()
    cur="${COMP_WORDS[COMP_CWORD]}"
    prev="${COMP_WORDS[COMP_CWORD-1]}"
    
    # 定义可用的操作命令
    opts="start stop restart status help -h --help"
    
    # 获取当前目录下的JAR文件（去掉.jar后缀）
    jar_files=$(find . -maxdepth 1 -name "*.jar" -type f 2>/dev/null | sed 's|^\./||' | sed 's/\.jar$//' | tr '\n' ' ')
    
    case "${prev}" in
        restart-java-app)
            # 第一个参数：操作命令或JAR包名
            COMPREPLY=( $(compgen -W "${opts} ${jar_files} all" -- ${cur}) )
            return 0
            ;;
        start|stop|restart|status)
            # 操作命令后面：JAR包名
            COMPREPLY=( $(compgen -W "${jar_files} all" -- ${cur}) )
            return 0
            ;;
        *)
            # 其他情况：JAR包名
            COMPREPLY=( $(compgen -W "${jar_files} all" -- ${cur}) )
            return 0
            ;;
    esac
}

# 注册补全函数
complete -F _restart_java_app_completion restart-java-app